Android x Google Play Services #1 概要とセットアップ
はじめに
Google Play Services を使いこなしたい
先日の Google I/O 2013 で Google Play Services のアップデートが発表されました。
Social Gaming, Location, and More in Google Play Services | Android Developers Blog
新しい API やこれまで Google Play Services に含まれていなかった API など、さまざまな機能を持つ API が追加されました。簡単に位置情報や徒歩なのかドライブ中なのか行動が取得できる Location API、 iOS の GameCenter 的な、ソーシャル&クラウドな Google Play Game Services、 新しい GCM 、Google+ サインイン…
などといったような感じです。アプリに組み込みたくなるような API ばかりですね!
いろいろな機能がてんこ盛りな Google Play Services がアプリで使えるようになると、アプリの機能の幅がどどーんと広がります。ぜひとも使いこなせるようになりたいですね。とはいうものの、筆者も全然追いついておりません。。
ということで「Google Play Services」について改めて一から学んでいきたいと思います!まず第1回目は Google Play Services にはどんな機能があり、どういう形でアプリに組み込むかまとめてみました。
何ができるのか?
まず始めに Google Play Services にはどのような API があり、どのようなことができるのか、機能を知っておく必要があると思います。各 API の機能の概要をざっくりとまとめてみました!
Location API
位置情報を取得する API です。主に以下の3つの機能を使うことができます。
Fused location provider
シンプルな位置情報 API です。GPS、モバイル回線(3G, LTE)、Wi-Fi などを使って正確な位置を測定することができます。消費電力の削減がなされており、以前よりも電力消費が少なくなっているようです。
Geofencing APIs
ある範囲の中の出入りを取得できる API です。チェックイン・チェックアウト的なことができると思われます。
Activity recognition
ユーザが歩いているか、走っているか、自転車に乗っているか、ドライブ中かといった行動の情報を取得できる API です。
Google Play Games Services
ゲームに使うことを目的として作られた API です。ゲームデータの保存やマルチプレイ用の API などがあります。ゲームアプリに限定せず、ゲーミフィケーションアプリにも使えそうです。
Achievements
ゲームのさまざまな実績を記録・取得することができます。iOS の GameCenter Achievement や PlayStation のトロフィーのような機能を作ることができます。
Cloud Save
ゲームデータを Google Play Games Services が管理するストレージに記録することができます。4つの 128K のデータブロックに記録できるそうです。
Leaderboards
ユーザーの得点を記録し、ゲームプレイランキングをつけることができます。
Multiplayer
Google+ の複数人のプレイヤーと同時にゲームをすることができます。
Google+ Platform
Google Play Games Services から Google+ のプラットフォーム上で利用可能なすべての機能 (シェアやフレンドリスト取得など) にアクセスすることができます。
Google+ API
Google+ API は Google の SNS 「Google+」と連携するための API です。 Google+ へのサインインやシェア機能などを実装することができます。国内では Facebook ほど利用率は少ないですが、世界から見ると Google+ を利用している人は多いので、グローバル向けのアプリで使えそうですね。
Google Maps
Google Map を使うための API です。アプリ内に簡単に Google Map を組み込むことができます。Google Map を操作するさまざまな API (ピンの設置、現在位置の変更、アングルの切り替えなど) を利用することができます。
Google Cloud Messaging
Google Cloud Messaging (通称GCM) はアプリにメッセージをプッシュ配信するための API です。アプリを起動していなくてもサーバーからメッセージを配信することができます。
In-App Billing API
In-App Billing API は Google が提供するアプリ内課金サービスを呼び出す API です。ゲームアプリによく使われるアイテム課金などが実装できます。
Google Play Services をアプリに組み込む
ということで Google Play Services SDK を Android アプリに組み込んでみたいと思います。
ADT Bundle (Eclipse) の場合
Eclipse で開発したい場合、まずは Android SDK Manager で Google Play Services SDK をインストールします。
Google Play Services SDK のインストール先は <android-sdk-home>/extras/google/google_play_services です。このフォルダ内の libproject/google-play-services_lib がライブラリプロジェクトになっているのでインポートします。
あとはこのプロジェクトをライブラリとして設定して完了です!
Android Studio (IntelliJ IDEA) の場合
Android Studio (IntelliJ IDEA) で開発したい場合には、まずは Android SDK Manager で Google Repository と Android Support Repository をインストールします。
あとは Android プロジェクトの build.gradle の dependencies に以下を追加します。
dependencies { compile 'com.google.android.gms:play-services:3.1.36' compile 'com.android.support:support-v4:13.0.0' }
また minSdkVersion を 8 以上にしましょう。デフォルトでは 7 になっており、このままではビルドできないので注意してください。変更しなければならないのは AndroidManifest.xml と build.gradle のファイルです。build.gradle は android を以下のようにします。
android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 8 targetSdkVersion 16 } }
そして「Sync Project with Gradle Files」ボタンをクリックし、プロジェクトを再構成したら完了です!
うまくいかない場合は以下のコマンドを打って再ビルドしましょう。
./gradlew clean build
まとめ
第1回目は Google Play Services で何ができるか、そして SDK の導入方法を解説しました。基本はこの手順を踏まえた上でさまざまな API を利用していくようになります。次回以降は各 API の詳細な実装方法について学んでいきたいと思います。
本記事は調査しながらまとめています。認識違いをしている部分があればご指摘いただけると幸いです。
参考
- Social Gaming, Location, and More in Google Play Services | Android Developers Blog
- Google Play Services | Android Developers
- Google Play Game Services | Google Developers
- Google I/O - Android : What's New in Google Play Services | Y.A.M の 雑記帳
- 3.07. Google Play Services - mixi-inc / AndroidTraining | GitHub